/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package bab;

/**
 * Represente un noeud du bab
 * @author Luc DUZAN
 */
public class Node {

	private final int idObj; //numéro de l'object sur lequel on branche
	private final EtatObject etatObject; //est ce que l'objet est mis dans le sac

	private boolean explored;

	/**
	 * 
	 * @param objId id de l'objet sur lequel on branche
	 * @param etatObject est ce qu'on met l'objet dans le sac ou est ce qu'on l'exclue
	 * etatObjet != EtatObject.FREE car un noeud doit prendre une decision pour un objet !!!
	 */
	public Node(int objId, EtatObject etatObject) {
		assert etatObject != EtatObject.FREE;

		this.idObj = objId;
		this.etatObject = etatObject;
		this.explored = false;
	}

	/**
	 * 
	 * @return l'id de l'objet du noeud
	 */
	public int getIdObj() {
		return idObj;
	}

	public boolean isExplored() {
		return explored;
	}

	public EtatObject getEtatObject() {
		return etatObject;
	}

	public void setExplored(boolean explored) {
		this.explored = explored;
	}
	
}
